package com.panshi.mapper;

import com.panshi.api.util.PageSizeVO;
import com.panshi.pojo.ArticleReviewsVO;
import com.panshi.pojo.PraoseLinkVO;
import io.swagger.annotations.ApiModel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author XiaoWangYa
 * @version 1.0
 * @date 2020/8/4 0004 下午 2:47
 */
@Mapper
@Repository
@ApiModel("文章评论Mapper层")
public interface ReviewsMapper {

    // 新增评论
    int addReviewsInfo(ArticleReviewsVO yb_ArticleReviews_VO);

    // 删除评论
    void deleteReviewsInfo(@Param("id") int id);

    // 查询是否存在父级评论
    List<ArticleReviewsVO> queryIFExistSuperId(@Param("sid") int sid);

    // 查询指定文章全部评论
    List<ArticleReviewsVO> queryAssginArticleReviewsInfo(PageSizeVO yb_PageSize_VO);

    // 查询指定评论信息
    ArticleReviewsVO queryArticleParise(@Param("arid") int id);

    // 查询评论回复信息
    List<ArticleReviewsVO> queryAssginArticleReplyInfo (PageSizeVO pageSizeVO);

    // ====== 点赞表 ====== 点赞表 ====== 点赞表 ====== 点赞表 ======

    // 增加评论点赞量
    void addArticlePraise(ArticleReviewsVO articleReviewsVO);

    // 增加评论点赞信息
    void addLinkInfo(PraoseLinkVO praoseLinkVO);

    // 取消评论点赞信息
    void cancelArticlePraise (PraoseLinkVO praoseLinkVO);

    // 查询评论是否被指定用户所点赞
    PraoseLinkVO queryPraiseLink(PraoseLinkVO praoseLinkVO);

}
